home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CU Amiga Super CD-ROM 1
/
CU Amiga Magazine CD-ROM Special Edition (1995)(EMAP Images)(GB)[Issue 1995-11].iso
/
Aminet
/
comm
/
tcp
/
AmiTCPsdk_40.lha
/
AmiTCP-4.0
/
netinclude
/
sys
/
cdefs.h
next >
Wrap
C/C++ Source or Header
|
1994-10-05
|
2KB
|
80 lines
#ifndef SYS_CDEFS_H
#define SYS_CDEFS_H \
"$Id: cdefs.h,v 4.1 1994/10/05 23:16:17 ppessi Exp $"
/*
* C compiler dependent definitions
*
* Copyright © 1994 AmiTCP/IP Group,
* Network Solutions Development, Inc.
* All rights reserved.
*/
#if defined(__cplusplus)
#define __BEGIN_DECLS extern "C" {
#define __END_DECLS };
#else
#define __BEGIN_DECLS
#define __END_DECLS
#endif
/*
* SAVEDS should be used in all function definitions which will be called
* from other tasks than AmiTCP/IP. Is restores the global data base pointer
* as the first thing in the function body.
*
* REGARGFUN contains special keywords which should be used when functions
* used through shared library are referenced.
*/
#if __SASC_60
#define SAVEDS __saveds
#define REGARGFUN __asm
#define STKARGFUN __stdargs
#define ALIGNED __aligned
#define ASM __asm
#define REG(x) register __##x
#else
#define SAVEDS
#define REGARGFUN
#define STKARGFUN
#define ALIGNED
#define ASM
#define REG(x)
#endif
/*
* The __CONCAT macro is used to concatenate parts of symbol names, e.g.
* with "#define OLD(foo) __CONCAT(old,foo)", OLD(foo) produces oldfoo.
* The __CONCAT macro is a bit tricky -- make sure you don't put spaces
* in between its arguments. __CONCAT can also concatenate double-quoted
* strings produced by the __STRING macro, but this only works with ANSI C.
*/
#if defined(__STDC__) || defined(__cplusplus)
#define __P(protos) protos /* full-blown ANSI C */
#define __CONCAT(x,y) x ## y
#define __STRING(x) #x
#if __SASC_60
#define inline __inline
#endif
#else /* !(__STDC__ || __cplusplus) */
#define __P(protos) () /* traditional C preprocessor */
#define __CONCAT(x,y) x/**/y
#define __STRING(x) "x"
#if __GNUC__
#define const __const__ /* GCC: ANSI C with -traditional */
#define inline __inline__
#define signed __signed__
#define volatile __volatile__
#else /* !__GNUC__ */
#define const /* delete ANSI C keywords */
#define inline
#define signed
#define volatile
#endif /* !__GNUC__ */
#endif /* !(__STDC__ || __cplusplus) */
#endif /* !SYS_CDEFS_H */